package com.baosight.xCyber.util;

import com.baosight.xCyber.model.TagNode;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 初始化根节点
 * 顺序：Title1-Title2-。。。。。
 * @author 吴起航
 */
public class GetRoot {

    public static Map<String, TagNode> initRoot(Map<String, TagNode> titleMap,
                                                Map<String, TagNode> codeMap,
                                                Map<String, TagNode> mainMap) {

        //获取根节点的子集
        List<TagNode> dataList = mainMap.get("root").getItems();
        mainMap.remove("root");
        TagNode root = null;
        List<TagNode> temp;
        for (Map.Entry<String, TagNode> entry : titleMap.entrySet()) {
            temp = new ArrayList<>();
            root = entry.getValue();
            root.setItemFlag(true);
            //将集合里的子集父节点都设置成title
            for(TagNode t:dataList){
                t.parentId = entry.getKey();
            }
            root.setItems(dataList);
            mainMap.put(entry.getKey().toLowerCase(),root);
            temp.add(root);
            dataList = temp;
        }
        mainMap.remove("");
        return mainMap;
    }
}
